The invention relates to the use of audio tones to transmit data and particularly to decoding DTMF audio tones. Applications for this apparatus and method include telephony and other fields where data is transmitted by the use of audio tones. DTMF (Dual-tone Multi Frequency) is a tone composed of two sine waves of given frequencies. Individual frequencies are chosen so that it is quite easy to design frequency filters, and so that they can easily pass through telephone lines (where the maximum guaranteed bandwidth extends from about 300 Hz to 3.5 kHz). DTMF was not intended for data transfer; it is designed for control signals only. With standard decoders, it is possible to signal at a rate of about 10 “beeps” (=5 bytes) per second. DTMF standards specify 50 ms tone and 50 ms space duration. For shorter lengths, synchronization and timing are more difficult.
DTMF is the basis for voice communications control. Modern telephony uses DTMF to dial numbers, configure telephone exchanges (switchboards), and so on. Occasionally, simple floating codes are transmitted using DTMF—usually via a CB transceiver (27 MHz). It is used to transfer information between radio transceivers, in voice mail applications, etc. Almost any mobile (cellular) phone is able to generate DTMF after establishing connection. If a phone cannot generate DTMF, a stand-alone “dialer” may be used. DTMF was designed so that it is possible to use acoustic transfer, and receive the codes using standard microphone.
The table in FIG. 4 shows how to compose any DTMF code. Each code, or “beep”, consists of two simultaneous frequencies mixed together (added amplitudes). Standards specify 0.7% typical and 1.5% maximum tolerance. The higher of the two frequencies may have higher amplitude (be “louder”) of 4 dB max. This shift is called a “twist”. If the twist is equal to 3 dB, the higher frequency is 3 dB louder. If the lower frequency is louder, the twist is negative. The X and Y coordinates of each code give the two frequencies that comprise the code.
Most often, dedicated telephony circuits are used to generate DTMF (for example, MT8880). On the other hand, a microprocessor can do it, too. Just connect a RC filter to two output pins, and generate correct tones via software. However, getting the correct frequencies often requires usage of a suitable crystal for the processor itself—at the cost of non-standard cycle length, etc. So, this method is used in simple applications only.
It is not easy to detect and recognize DTMF with satisfactory precision. Often, dedicated integrated circuits are used, although a functional solution for DTMF transmission and receiving by a microprocessor (a PIC in most cases) exists. It is rather complicated, so it is used only marginally. Most often, a MT 8870 or compatible circuit would be used. Most conventional decoders detect only the rising edges of the sine waves. So, DTMF generated by rectangular pulses and RC filters works reliably. The MT 8870 uses two 6th order band pass filters with switched capacitors. These produce nice clean sine waves even from distorted inputs and suppresses harmonics.
DTMF is used in security systems for both residential and commercial applications to remotely issue commands to security systems. For example, the commands may initiate a status report regarding a building in which the security system is installed. In other applications the commands may remotely turn on or off an entire system or individual features of a system.
In security panels (also known as alarm panels) used in residential and commercial security systems most design engineer who need the capability of decoding DTMF (Dual-tone-multi-frequency), have traditionally used an expensive DTMF decoding chip or a DSP with a costly A/D converter. The relatively expensive DTMF decoding chip or a DSP with a costly A/D converter constitutes a material part of the total cost of the security panel. Those skilled in the security industries art would not consider decoding DTMF by using a simple and cheap zero-crossing detector, because this type of detector will not carry over the analog property (amplitude) of original signals, which is the most essential factor for signals analysis.